package com.cnap.multiclouldmgmt.model.microSvc;

import com.cnap.multiclouldmgmt.model.k8sModels.PodModel;
import com.cnap.multiclouldmgmt.model.microSvc.assist.AlarmSvcDataModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.ArrayList;
import java.util.List;

/**
 * 拆分的微服务信息
 *
 * @author xc
 **/
@ApiModel(value = "com.cnap.multiclouldmgmt.model.microSvc.MicroSvcUseInfoModel",description = "微服务和集群的信息信息")
public class MicroSvcUseInfoModel {

    //云商
    @ApiModelProperty(value = "云商")
    private String cloudVender;

    //区域id
    @ApiModelProperty(value = "区域id")
    private String regionId;

    //可用区id
    @ApiModelProperty(value = "区域id")
    private String zoneId;

    //集群名称
    @ApiModelProperty(value = "集群名称")
    private String k8sClusterName;

    //集群服务的名称
    @ApiModelProperty(value = "集群服务的名称")
    private String microSvcName;


    //集群ip
    @ApiModelProperty(value = "集群ip")
    private String k8sClusterIp;

    //容器信息
    @ApiModelProperty(value = "容器信息")
    private List<String> podNames;

    //镜像信息
    @ApiModelProperty(value = "容器信息")
    private List<String> images;

    //cpu使用率
    @ApiModelProperty(value = "cpu使用率")
    private List<CpuUseModel> cpuUseModels;

    //mem使用率
    @ApiModelProperty(value = "mem使用率")
    private List<MemUseModel> memUseModels;

    //请求耗时
    @ApiModelProperty(value = "请求耗时")
    private List<GatewayLogModel> gatewayLogModels;

    //请求耗时
    @ApiModelProperty(value = "显卡温度")
    private List<GpuTempUseModel> gpuTempUseModels;

    //请求耗时
    @ApiModelProperty(value = "gpu使用率")
    private List<GpuUseModel> gpuUseModels;


    //请求耗时
    @ApiModelProperty(value = "显存使用率")
    private List<GpuMemUseModel> gpuMemUseModels;

    //请求耗时
    @ApiModelProperty(value = "硬盘iops")
    List<DiskIopsModel> diskIopsList;

    //请求耗时
    @ApiModelProperty(value = "硬盘吞吐量")
    List<DiskThrouthputModel> diskThroughputList;

    /**
     * get
     *
     * @return DiskIopsList
     */
    public List<DiskIopsModel> getDiskIopsList() {
        return diskIopsList;
    }

    /**
     * set
     *
     * @param diskIopsList diskIopsList
     */
    public void setDiskIopsList(List<DiskIopsModel> diskIopsList) {
        this.diskIopsList = diskIopsList;
    }

    /**
     * get
     *
     * @return DiskThroughputList
     */
    public List<DiskThrouthputModel> getDiskThroughputList() {
        return diskThroughputList;
    }

    /**
     * set
     *
     * @param diskThroughputList diskThroughputList
     */
    public void setDiskThroughputList(List<DiskThrouthputModel> diskThroughputList) {
        this.diskThroughputList = diskThroughputList;
    }

    /**
     * get
     *
     * @return GpuTempUseModels
     */
    public List<GpuTempUseModel> getGpuTempUseModels() {
        return gpuTempUseModels;
    }

    /**
     * set
     *
     * @param gpuTempUseModels gpuTempUseModels
     */
    public void setGpuTempUseModels(List<GpuTempUseModel> gpuTempUseModels) {
        this.gpuTempUseModels = gpuTempUseModels;
    }

    /**
     * get
     *
     * @return GpuUseModels
     */
    public List<GpuUseModel> getGpuUseModels() {
        return gpuUseModels;
    }

    /**
     * set
     *
     * @param gpuUseModels gpuUseModels
     */
    public void setGpuUseModels(List<GpuUseModel> gpuUseModels) {
        this.gpuUseModels = gpuUseModels;
    }

    /**
     * get
     *
     * @return GpuMemUseModels
     */
    public List<GpuMemUseModel> getGpuMemUseModels() {
        return gpuMemUseModels;
    }

    /**
     * set
     *
     * @param gpuMemUseModels gpuMemUseModels
     */
    public void setGpuMemUseModels(List<GpuMemUseModel> gpuMemUseModels) {
        this.gpuMemUseModels = gpuMemUseModels;
    }

    /**
     * get
     *
     * @return MicroSvcName
     */
    public String getMicroSvcName() {
        return microSvcName;
    }

    /**
     * set
     *
     * @param microSvcName microSvcName
     */
    public void setMicroSvcName(String microSvcName) {
        this.microSvcName = microSvcName;
    }

    /**
     * get
     *
     * @return CloudVender
     */
    public String getCloudVender() {
        return cloudVender;
    }

    /**
     * set
     *
     * @param cloudVender cloudVender
     */
    public void setCloudVender(String cloudVender) {
        this.cloudVender = cloudVender;
    }

    /**
     * get
     *
     * @return RegionId
     */
    public String getRegionId() {
        return regionId;
    }

    /**
     * set
     *
     * @param regionId regionId
     */
    public void setRegionId(String regionId) {
        this.regionId = regionId;
    }

    /**
     * get
     *
     * @return ZoneId
     */
    public String getZoneId() {
        return zoneId;
    }

    /**
     * set
     *
     * @param zoneId zoneId
     */
    public void setZoneId(String zoneId) {
        this.zoneId = zoneId;
    }

    /**
     * get
     *
     * @return K8sClusterName
     */
    public String getK8sClusterName() {
        return k8sClusterName;
    }

    /**
     * set
     *
     * @param k8sClusterName k8sClusterName
     */
    public void setK8sClusterName(String k8sClusterName) {
        this.k8sClusterName = k8sClusterName;
    }

    /**
     * get
     *
     * @return K8sClusterIp
     */
    public String getK8sClusterIp() {
        return k8sClusterIp;
    }

    /**
     * set
     *
     * @param k8sClusterIp k8sClusterIp
     */
    public void setK8sClusterIp(String k8sClusterIp) {
        this.k8sClusterIp = k8sClusterIp;
    }

    /**
     * get
     *
     * @return PodNames
     */
    public List<String> getPodNames() {
        return podNames;
    }

    /**
     * set
     *
     * @param podNames podNames
     */
    public void setPodNames(List<String> podNames) {
        this.podNames = podNames;
    }

    /**
     * get
     *
     * @return Images
     */
    public List<String> getImages() {
        return images;
    }

    /**
     * set
     *
     * @param images images
     */
    public void setImages(List<String> images) {
        this.images = images;
    }

    /**
     * get
     *
     * @return CpuUseModels
     */
    public List<CpuUseModel> getCpuUseModels() {
        return cpuUseModels;
    }

    /**
     * set
     *
     * @param cpuUseModels cpuUseModels
     */
    public void setCpuUseModels(List<CpuUseModel> cpuUseModels) {
        this.cpuUseModels = cpuUseModels;
    }

    /**
     * get
     *
     * @return MemUseModels
     */
    public List<MemUseModel> getMemUseModels() {
        return memUseModels;
    }

    /**
     * set
     *
     * @param memUseModels memUseModels
     */
    public void setMemUseModels(List<MemUseModel> memUseModels) {
        this.memUseModels = memUseModels;
    }

    /**
     * get
     *
     * @return GatewayLogModels
     */
    public List<GatewayLogModel> getGatewayLogModels() {
        return gatewayLogModels;
    }

    /**
     * set
     *
     * @param gatewayLogModels gatewayLogModels
     */
    public void setGatewayLogModels(List<GatewayLogModel> gatewayLogModels) {
        this.gatewayLogModels = gatewayLogModels;
    }
}
